package cn.iocoder.an.module.business.controller.admin.maintenanceinformation.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
import jakarta.validation.constraints.*;

@Schema(description = "管理后台 - 维保商档案新增/修改 Request VO")
@Data
public class MaintenanceInformationSaveReqVO {

    @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "20120")
    private Long id;

    @Schema(description = "企业名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "xx企业")
    @NotEmpty(message = "企业名称不能为空")
    private String enterpriseName;

    @Schema(description = "简称", requiredMode = Schema.RequiredMode.REQUIRED, example = "xx企业")
    private String simpleName;

    @Schema(description = "信用代码", requiredMode = Schema.RequiredMode.REQUIRED)
    private String creditCode;

    @Schema(description = "企业代号", requiredMode = Schema.RequiredMode.REQUIRED)
    private String enterpriseCode;

    @Schema(description = "法人代表", requiredMode = Schema.RequiredMode.REQUIRED)
    private String legalRepresentative;

    @Schema(description = "公司官网", requiredMode = Schema.RequiredMode.REQUIRED)
    private String companyWebsite;

    @Schema(description = "联系人", requiredMode = Schema.RequiredMode.REQUIRED, example = "张三")
    private String contactPerson;

    @Schema(description = "联系电话", requiredMode = Schema.RequiredMode.REQUIRED)
    private String mobilePhone;

    @Schema(description = "固定电话", requiredMode = Schema.RequiredMode.REQUIRED)
    private String landlinePhone;

    @Schema(description = "传真号码", requiredMode = Schema.RequiredMode.REQUIRED)
    private String faxNumber;

    @Schema(description = "企业邮箱", requiredMode = Schema.RequiredMode.REQUIRED)
    private String email;

    @Schema(description = "入选时间")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date entryDate;

    @Schema(description = "状态", example = "1")
    private Integer status;

    @Schema(description = "开户行", requiredMode = Schema.RequiredMode.REQUIRED, example = "李四")
    private String bankName;

    @Schema(description = "账号", requiredMode = Schema.RequiredMode.REQUIRED, example = "29392")
    private String bankAccount;

    @Schema(description = "税号", requiredMode = Schema.RequiredMode.REQUIRED)
    private String taxNumber;

    @Schema(description = "发票抬头", requiredMode = Schema.RequiredMode.REQUIRED)
    private String invoiceTitle;

    @Schema(description = "注册地址", requiredMode = Schema.RequiredMode.REQUIRED)
    private String registeredAddress;

    @Schema(description = "公司地址", requiredMode = Schema.RequiredMode.REQUIRED)
    private String companyAddress;

    @Schema(description = "经营范围")
    private String businessScope;

    @Schema(description = "企业信息")
    private String enterpriseInformation;

}